
#include<stdio.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
#include<unistd.h>
#include<string.h>
int main()
{


  //输出重定向
  int fd=open("log.txt",O_CREAT|O_WRONLY|O_TRUNC,0666);
  //追加重定向
  //int fd=open("log.txt",O_CREAT|O_WRONLY|O_ADDEND,0666);


  dup2(fd,1);
  write(1,"hello 1\n",8);
  printf("hello fd%d\n",fd);
  fprintf(stdout,"hello fd:%d\n",fd);
  fputs("hello worlf\n",stdout);
  const char *message="hello world\n";
  fwrite(message,1 ,strlen(message),stdout);









  
  ////输入重定向
  //char buffer[2048];
  //int fd=open("log2.txt",O_RDONLY);
  //dup2(fd,0);
  //size_t s=read(0,buffer,sizeof(buffer));

  //if(s>0)//就是一个打印一下读取是否实现的代码
  //{
  //  buffer[s]=0;
  //  printf("stdin :%s",buffer);
  //}
//如果没有第11 12  行的代码的话就是默认从显示器读入,当你加上这个代码的话,就是直接读取这个log2.txt的内容



//  close(1);
//
//  int fd1=open("log.txt",O_WRONLY|O_CREAT|O_APPEND,0x666);
//  printf("fd1 :%d",fd1);
//

  return 0;
}
